import { HeroData } from "./HeroData";
import { ItemData } from "./ItemData";
import { SignData } from "./SignData";
import { StageData } from "./StageData";
// 'openId' | 'platform' | 'nickName' | 'avatarUrl' | 'channel' | 'gold' | 'energy' | 'score' | "heros" | "stage" | "items" | "curSelectHero" | "shopItemAd" | "signData" 

// "_id" | "platform" | "registerTime" | "lastLoginTime" | "lastGoldReceiveTime" | "lastEnergyReceiveTime" | "goldPool" | "lastSignTime"
/**玩家表数据模型 */
export interface Player {
    _id: string,
    openId:string,
    /**用户呢称 */
    nickName:string,
    /**用户头像 */
    avatarUrl?: string,
    /**当前高度 */
    score: number,
    /**平台 */
    platform: string,
    /**渠道 */
    channel:string,
    /**当前体力 */
    energy: number,
    /**当前金币 */
    gold: number,
    /**注册时间 */
    registerTime:Date,
    /**最后一次登录时间 */
    lastLoginTime:Date,
    /**最后一次领取金币的时间 */
    lastGoldReceiveTime: Date, 
    /**当前可领取的金币池内金币数 */
    goldPool: number,
    /**最后一次领取体力的时间 */
    lastEnergyReceiveTime: Date,
    /**是否首次开宝箱 */
    hasFirstOpenBox:boolean,
    /**关卡通关记录 */
    stage: { [stageId: string]: StageData },
    /**已获得的角色列表 */
    heros: { [heroId: string]: HeroData },
    /**拥有的道具列表 */
    items: { [itemId: string]: ItemData },

    /**选中道具的槽位信息 */
    itemSlot: { [slotId: string]: string | undefined },
    /**需要播放广告的商品播放广告次数 */
    shopItemAd:{[shopId:string]:number},
    /**当前选择的英雄 */
    curSelectHero:string,
    /**最后一次签到时间 */
    lastSignTime:Date,
    /**签到数据 */
    signData: SignData
    /**已领取过奖励的任务 */
    taskReceived: { [taskId: string]: boolean },
    /**每日登录次数 */
    dayLogin:number,
    /**每日分享次数 */
    dayShareCount:number,
    /**每日挑战无尽关卡最高分数 */
    dayStageEndlessScore:number,
    /**每日看视频数 */
    dayVideoCount:number,
    /**每日商店购买道具 */
    dayBuyItemCount:number,
    /**每日使用道具数 */
    dayUseItemCount:number,
    /**累计看视频数 */
    totalVideoCount:number,
    /**累计使用道具数 */
    totalUseItemCount:number,

}